//package com.itshuzu;
//import java.util.Scanner;
//public class day02 {
//    public static void main(String[] args) {
//        //1、有序数组插入一个数组、使得数据依然有序
//        int[] a={2,5,6,17,18,29,44,48,99};
//        //数组一旦定义，大小就不能改变
//        int[] b=new int[a.length+1];  //新添一个数，他的长度+1
//        int index = 0;
//        Scanner sc=new Scanner(System.in);
//        System.out.println("请输入一个整数：");
//        int num= sc.nextInt();
//        //找到第一个比num数字大的索引，记为index
//        //数组他没有插入这一项，一旦定义，大小就不能改变
//        for (int i=0;i<a.length;i++){
//            if (a[i]>num){
//                index = i;
//                break;
//            }
//        }
//        for (int i=0;i<b.length;i++){
//            if (i<index){
//               b[i]=a[i];
//            }else if (i==index){
//                b[i]=num;
//            }else {  //i>index;
//                b[i]=a[i-1];
//            }
//        }
//        //输出数组
//        for (int i=0;i<b.length;i++) {
//            System.out.print(b[i]+" ");
//        }
//    }
//}





//插入一个成绩，并且进行降序排列
//方法一：
//package com.itshuzu;
//import java.util.Scanner;
//public class day02 {
//    public static void main(String[] args) {
//        int[] a = {99, 85, 82, 63, 60};
//        int[] b=new int[a.length+1];
//        Scanner sc = new Scanner(System.in);
//        System.out.println("请输入一个学员的成绩：");
//        int score = sc.nextInt();
//        int index=0;
//        //找到新元素插入的位置
//        for (int i=0;i<a.length;i++){
//            if (a[i]<score){
//                index = i;
//                break;
//            }
//        }
//        //元素后移
//        for (int i=0;i<b.length;i++){
//            if (i<index){
//               b[i]=a[i];
//            }else if (i==index){
//                b[i]=score;
//            }else {  //i>index;
//                b[i]=a[i-1];
//            }
//        }
//        for (int i = 0; i < b.length; i++) {
//            for (int j = i+1; j < b.length; j++) {
//                if (b[i] < b[j]) {
//                score = b[i];
//                b[i] = b[j];
//                b[j] = score;
//                }
//            }
//            System.out.println(b[i]+" ");
//        }
//        }
//    }



//方法二：
//package com.itshuzu;
//import java.util.Scanner;
//public class day02 {
//    public static void main(String[] args) {
//        int[] a = new int[6];
//        a[0] = 99;
//        a[1] = 85;
//        a[2] = 82;
//        a[3] = 63;
//        a[4] = 60;
//
//        System.out.println("请输入新增成绩:");
//        Scanner sc = new Scanner(System.in);
//        int num = sc.nextInt(); //num接收插入的值
//        int index = a.length-1;//3
//        //找到新元素的插入位置
//        for(int i = 0;i< a.length;i++){
//            if(num> a[i]){
//                index = i;
//                break;
//            }
//        }
//        //元素后移
//        for(int i = a.length-1;i>index;i--){
//            a[i] = a[i-1];//index下标开始的元素后移一个位置
//        }
//        a[index] = num;//插入数据
//        System.out.println("插入成绩的下标是："+index);
//        System.out.println("插入后的成绩信息是：");
//        for(int k = 0;k< a.length;k++){//循环输出目前数组中的数据
//            System.out.println(a[k]+"\t");
//        }
//    }
//}





//冒泡排序
//package com.itshuzu;
//import java.util.Scanner;
//public class day02 {
//    public static void main(String[] args) {
//        int[] arr= new int[5];
//        Scanner sc = new Scanner(System.in);
//        System.out.println("请输入5名学员的成绩：");
//        for (int i = 0; i < 5 ; i++) {
//            arr[i] = sc.nextInt();
//        }
//            for (int i = 0; i < arr.length - 1 ; i++) {
//                for (int j = 0; j < arr.length - 1-i ; j++){
//                if (arr[j] < arr[j + 1]) {
//                    //交换元素位置
//                    int temp = arr[j];
//                    arr[j] = arr[j + 1];
//                    arr[j + 1] = temp;
//                }
//            }
//        }
//        System.out.print("学员成绩按降序排列：");
//        for (int score : arr) {
//            System.out.print(score + "\t");
//        }
//    }
//}




//Arrays排序输出5名学生的成绩
//package com.itshuzu;
//import java.util.Arrays;
//import java.util.Scanner;
//public class day02 {
//    public static void main(String[] args) {
//        int[] scores=new int[5];
//        Scanner input = new Scanner(System.in);
//        System.out.println("请输入5名学生的成绩：");
//        //获取学员成绩
//        for (int i=0;i<scores.length;i++){
//            scores[i] = input.nextInt();
//        }
//        Arrays.sort(scores);//升序排列
//        System.out.println("学生成绩按升序排列");
//        for (int score:scores){
//            System.out.print(score+"\t");
//        }
//        System.out.println("\n学生成绩按倒序排列");
//        for (int i= scores.length-1;i>=0;i--) {
//            System.out.print(scores[i] + "\t");
//        }
//    }
//}




//Arrays类中方法的使用
//package com.itshuzu;
//import java.util.Arrays;
//public class day02 {
//    public static void main(String[] args) {
//        //equals(array1,array2)的作用是：比较两个数组是否相等
//        System.out.println("------equals(array1,array2)方法：--------");
//        int[] arr1 = {10, 50, 40, 30};
//        int[] arr2 = {10, 50, 40, 30};
//        int[] arr3 = {60, 78, 80};
//        System.out.println(Arrays.equals(arr1, arr2)); //判断arr1和arr2的长度及元素是否相等
//        System.out.println(Arrays.equals(arr1, arr3)); //判断arr1和arr3的长度及元素是否相等
//
//        //sort(array)的作用是：对数组array的元素进行升序排列
//        System.out.println("------sort(array)方法：--------");
//        int[] array = new int[]{80, 90, 45, 67, 88};
//        Arrays.sort(array);
//        System.out.println("成绩排序后");
//        for (int i = 0; i < array.length; i++) {
//            System.out.println(array[i] + "\t");
//         }
//        //toString(array)的作用是：将一个数组array转换成一个字符串
//        System.out.println("------toString(array)方法：--------");
//        int arr[]={10,50,60,30};
//        System.out.println(Arrays.toString(arr)); //将arr转换为字符串并输出
//        Arrays.sort(arr);  //将数组升序排列
//        System.out.println(Arrays.toString(arr));
//
//        //fill(array,val)的作用是：把数组array的所有元素都赋值为val
//        int[] arrs={10,20,30,40};
//        Arrays.fill(arrs,69);//替换数组元素
//        System.out.println(Arrays.toString(arr));
//
//        //copyOF(array,length)的作用是：把数组array复制成一个长度为length的新数组
//        System.out.println("------copyOF(array,length)方法：--------");
//        int[] arr11={10,50,60,30};
//        int[] arr22=Arrays.copyOf(arr11,3);//将arr11复制成长度为3的新数组arr22
//        System.out.println(Arrays.toString(arr22));
//        int[] arr33 = Arrays.copyOf(arr11,4);//将arr11复制成长度为4的新数组arr33
//        System.out.println(Arrays.toString(arr33));
//        int[] arr44 = Arrays.copyOf(arr11,6);//将arr11复制成长度为6的新数组arr44
//        System.out.println(Arrays.toString(arr44));
//
//        //Arrays.binarySearch(array,val)的作用是:查询元素值val在数组中array中的下标
//        System.out.println("------binarySearch(array,val)方法：--------");
//        int[] arrss={10,50,80,30};
//        Arrays.sort(arrss);  //先按升序排列
//        int index =Arrays.binarySearch(arrss,30); //查找30的下标
//        System.out.println("30的下标："+index);
//        int index1=Arrays.binarySearch(arrss,50); //查找50的下标
//        System.out.println("50的下标："+index);
//    }
//}




//二维数组
//定义：数组中的数组，
//package com.itshuzu;
//public class day02 {
//    public static void main(String[] args) {
//        String[][] persons = new String[3][3];
//        persons[0][0]="诸葛亮";
//        persons[0][1]="男";
//        persons[0][2]="30";
//
//        persons[1][0]="刘备";
//        persons[1][1]="女";
//        persons[1][2]="20";
//
//        persons[2][0]="张飞";
//        persons[2][1]="男";
//        persons[2][2]="18";
//
//        System.out.println(persons[1][0]); //打印刘备
//        System.out.println(persons[2][2]); //打印18
//
////        //问题：输出结果
////        System.out.println(persons[3][0]);
//
//        //for循环，遍历二维数组
//        for (int i=0;i< persons.length;i++) { //外循环
//            //内循环的作用：用来遍历每个一维数组arr[0],arr[1]....arr[i]
//            for (int j = 0; j < persons[i].length; j++) {
//                System.out.print(persons[i][j] + " ");
//            }
//            System.out.println(); //换行
//        }
//    }
//}




//package com.itshuzu;
//import java.util.Arrays;
//public class day02 {
//    public static void main(String[] args) {
//        //静态初始化
//        int[][] arrs={{1,2,3},{4,5},{6,6,7,8},{'1','a'}};
//        int[][] arrs1=new int[][]{{11},{33,44},{55,77},{88,88,100}};
//
//        //动态初始化
//        int[][] arrs2=new int[3][4];
//        //一维只存放第二维度的首地址，第二维度才是真正存数据，此时存放的是int类型的默认值
//        for (int i=0;i< arrs2.length;i++){ //外循环
//            for (int j=0;j<arrs2[i].length;j++){  //内循环  列
//                System.out.println(arrs2[i][j]+" ");
//            }
//            System.out.println(); //换行
//        }
//        //动态初始化2
//        int[][] arr3=new int[3][];
//        System.out.println(Arrays.toString(arr3));
//        arr3[0]=new int[4];
//        arr3[1]=new int[]{5,6,7};
//        arr3[2]=new int[]{7,8,9};
//        //错误例子 以下写法是错误的
////        int[][] arrs4=new int[][3];
////        int[][] arrs5=new int[][];
//    }
//}





//5个班各5名学生某门课程的成绩，计算5个班各自的总成绩
//package com.itshuzu;
//import java.util.Scanner;
//public class day02 {
//    public static void main(String[] args) {
//        Scanner input=new Scanner(System.in);
//        int[][] array=new int[5][5]; //5个班的成绩
//        //i:班级  j:各班级的学生
//        for (int i=0;i<array.length;i++){
//            System.out.println("*******第"+(i+1)+"个班*******");
//            for (int j=0;j<array[i].length;j++){
//                System.out.println("请输入第"+(j+1)+"个学生的成绩：");
//                array[i][j]=input.nextInt();
//                //array[0][0]
//                //array[0][1]
//            }
//        }
//        System.out.println("***********成绩统计***********");
//        int total=0; //保存总成绩
//        for (int i=0;i<array.length;i++){
//            String str=(i+1)+"班";
//            total=0; //每次循环到次都将其归0
//            for (int j=0;j<array[i].length;j++){
//                total +=array[i][j]; //成绩累加
//            }
//            System.out.println(str+"总成绩:"+total);
//        }
//    }
//}




//3个班级各5名学员，请使用二维数组计算各个班级的总成绩和平均分
//package com.itshuzu;
//import java.util.Scanner;
//public class day02 {
//    public static void main(String[] args) {
//        Scanner input = new Scanner(System.in);
//        int[][] array = new int[3][5]; //3个班的成绩
//        // i:班级 j:各班级的学生
//        for (int i=0;i<array.length;i++){
//            System.out.println("*********第"+i+"个班***********");
//            for (int j=0;j<array[i].length;j++){
//                System.out.print("请输入第"+(j+1)+"个学生的成绩：");
//                array[i][j]= input.nextInt();
//            }
//        }
//        System.out.println("**********成绩统计************");
//        double sum=0; //保存总成绩
//        double avg;
//        for (int i=0;i<array.length;i++){
//            String str=(i+1)+"班";
//            sum=0;
//            for (int j=0;j<array[i].length;j++){
//                sum +=array[i][j];
//            }
//            System.out.print(str+"总成绩:"+sum);
//            System.out.println("\t平均分:"+sum/5);
//        }
//    }
//}



//现在定义如下的一个数组：int[] oldArr={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}
// 将不为0的值存入一个新的数组，生成的新数组为：int[] newArr={1,3,4,5,6,6,5,4,7,6,7,5}
// 最后将新数组的值输出
//package com.itshuzu;
//import java.util.Arrays;
//public class day02 {
//    public static void main(String[] args) {
//        int[] oldArr={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
//        int[] newArr=new int[oldArr.length];
//        int count=0;
//        for (int i=0;i< oldArr.length;i++){
//            if (oldArr[i] !=0){
//                newArr[count++] = oldArr[i];
//            }
//        }
//        newArr = Arrays.copyOf(newArr,count);
//        System.out.println(Arrays.toString(newArr));
//    }
//}



//输入N个同学的语、数、英三科成绩，计算他们的总分与平均分，并统计出每个同学的名次，最后以表格的形式输出
package itShuzu;
import java.util.Scanner;
public class day02 {
    public static void main(String[] args) {
        //思路：1、拿到控制台输入的数组长度，也就是同学的个数，这是表示这个二维数组中的有几个一维数组的值，一维数组固定长度为
        //2、给二维数组赋值
        //3、格式输出
        Scanner input=new Scanner(System.in);
        System.out.println("请输入N的值（N表示同学的个数）：");
        int n= input.nextInt();
        String[][] student=new String[n][3];
        for (int i=0;i<student.length;i++){
            for (int j=0;i<student[i].length;j++){
                switch (j){
                    case 0:
                        System.out.println("请输入姓名：");
                        student[i][j]= input.next();
                        break;
                    case 1:
                        System.out.println("请输入笔试成绩：");
                        student[i][j]= input.next();
                        break;
                    case 2:
                        System.out.println("请输入机试成绩：");
                        student[i][j]= input.next();
                        break;
                }
            }
        }
        //输出打印
        System.out.println("姓名\t\t笔试\t\t机试");
        for (int i=0;i< student.length;i++){
            for (int j=0;j< student[i].length;j++){
                System.out.println(student[i][j]+"\t\t");
            }
            System.out.println();
        }
    }
}